Fixpoint Logic
   HOME

TheInfoList



OR:

In
mathematical logic Mathematical logic is the study of formal logic within mathematics. Major subareas include model theory, proof theory, set theory, and recursion theory. Research in mathematical logic commonly addresses the mathematical properties of forma ...
, fixed-point logics are extensions of classical predicate logic that have been introduced to express recursion. Their development has been motivated by descriptive complexity theory and their relationship to database query languages, in particular to
Datalog Datalog is a declarative logic programming language. While it is syntactically a subset of Prolog, Datalog generally uses a bottom-up rather than top-down evaluation model. This difference yields significantly different behavior and properties ...
. Least fixed-point logic was first studied systematically by Yiannis N. Moschovakis in 1974, and it was introduced to computer scientists in 1979, when Alfred Aho and
Jeffrey Ullman Jeffrey David Ullman (born November 22, 1942) is an American computer scientist and the Stanford W. Ascherman Professor of Engineering, Emeritus, at Stanford University. His textbooks on compilers (various editions are popularly known as the d ...
suggested fixed-point logic as an expressive database query language.


Partial fixed-point logic

For a relational signature ''X'', FO FP''X'') is the set of formulas formed from ''X'' using first-order connectives and predicates, second-order variables as well as a partial fixed point operator \operatorname used to form formulas of the form operatorname_ \varphivec, where P is a second-order variable, \vec a tuple of first-order variables, \vec a tuple of terms and the lengths of \vec and \vec coincide with the arity of P. Let be an integer, x, y be vectors of variables, be a second-order variable of arity , and let be an FO(PFP,X) function using and as variables. We can iteratively define (P_i)_ such that P_0(x)=false and P_i(x)=\phi(P_,x) (meaning with P_ substituted for the second-order variable ). Then, either there is a fixed point, or the list of (P_i)s is cyclic. operatorname_ \phi (y)/math> is defined as the value of the fixed point of (P_i) on if there is a fixed point, else as false. Since s are properties of arity , there are at most 2^ values for the P_is, so with a polynomial-space counter we can check if there is a loop or not. It has been proven that on ordered finite structures, a property is expressible in FO(PFP,''X'') if and only if it lies in
PSPACE In computational complexity theory, PSPACE is the set of all decision problems that can be solved by a Turing machine using a polynomial amount of space. Formal definition If we denote by SPACE(''t''(''n'')), the set of all problems that can b ...
.


Least fixed-point logic

Since the iterated predicates involved in calculating the partial fixed point are not in general monotone, the fixed-point may not always exist. FO(LFP,X), ''least fixed-point logic'', is the set of formulas in FO(PFP,X) where the partial fixed point is taken only over such formulas that only contain positive occurrences of (that is, occurrences preceded by an even number of negations). This guarantees monotonicity of the fixed-point construction (That is, if the second order variable is , then P_i(x) always implies P_(x)). Due to monotonicity, we only add vectors to the truth table of , and since there are only n^k possible vectors we will always find a fixed point before n^k iterations. The Immerman-Vardi theorem, shown independently by Immerman and Vardi, shows that FO(LFP,''X'') characterises P on all ordered structures. The expressivity of least-fixed point logic coincides exactly with the expressivity of the database querying language
Datalog Datalog is a declarative logic programming language. While it is syntactically a subset of Prolog, Datalog generally uses a bottom-up rather than top-down evaluation model. This difference yields significantly different behavior and properties ...
, showing that Datalog can express exactly those queries executable in polynomial time.


Inflationary fixed-point logic

Another way to ensure the monotonicity of the fixed-point construction is by only adding new tuples to P at every stage of iteration, without removing tuples for which P no longer holds. Formally, we define \operatorname(\phi_) as \operatorname(\psi_) where \psi(P,x)=\phi(P,x)\vee P(x). This inflationary fixed-point agrees with the least-fixed point where the latter is defined. Although at first glance it seems as if inflationary fixed-point logic should be more expressive than least fixed-point logic since it supports a wider range of fixed-point arguments, in fact, every FO FP''X'')-formula is equivalent to an FO FP''X'')-formula.


Simultaneous induction

While all the fixed-point operators introduced so far iterated only on the definition of a single predicate, many computer programs are more naturally thought of as iterating over several predicates simultaneously. By either increasing the
arity Arity () is the number of arguments or operands taken by a function, operation or relation in logic, mathematics, and computer science. In mathematics, arity may also be named ''rank'', but this word can have many other meanings in mathematics. ...
of the fixed-point operators or by nesting them, every simultaneous least, inflationary or partial fixed-point can in fact be expressed using the corresponding single-iteration constructions discussed above.


Transitive closure logic

Rather than allow induction over arbitrary predicates, transitive closure logic allows only transitive closures to be expressed directly. FO C''X'') is the set of formulas formed from ''X'' using first-order connectives and predicates, second-order variables as well as a transitive closure operator \operatorname used to form formulas of the form operatorname_ \varphivec\vec, where \vec and \vec are tuples of pairwise distinct first-order variables, \vec and \vec tuples of terms and the lengths of \vec, \vec, \vec and \vec coincide. TC is defined as follows: Let be a positive integer and u,v,x,y be vectors of variables. Then \mathsf(\phi_)(x,y) is true if there exist vectors of variables (z_i) such that z_1=x, z_n=y, and for all i, \phi(z_i,z_) is true. Here, is a formula written in FO(TC) and \phi(x,y) means that the variables and are replaced by and . Over ordered structures, FO Ccharacterises the complexity class NL. This characterisation is a crucial part of Immerman's proof that NL is closed under complement (NL = co-NL).


Deterministic transitive closure logic

FO TC''X'') is defined as FO(TC,X) where the transitive closure operator is deterministic. This means that when we apply \operatorname(\phi_), we know that for all , there exists at most one such that \phi(u,v). We can suppose that \operatorname(\phi_) is
syntactic sugar In computer science, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express. It makes the language "sweeter" for human use: things can be expressed more clearly, more concisely, or in an ...
for \operatorname(\psi_) where \psi(u,v)=\phi(u,v)\wedge \forall x (x=v \vee \neg \phi(u,x)). Over ordered structures, FO TCcharacterises the complexity class L.


Iterations

The fixed-point operations that we defined so far iterate the inductive definitions of the predicates mentioned in the formula indefinitely, until a fixed point is reached. In implementations, it may be necessary to bound the number of iterations to limit the computation time. The resulting operators are also of interest from a theoretical point of view since they can also be used to characterise complexity classes. We will define first-order with iteration, \mathsf
(n) A thumb signal, usually described as a thumbs-up or thumbs-down, is a common hand gesture achieved by a closed fist held with the thumb extended upward or downward in approval or disapproval, respectively. These gestures have become metaphors ...
/math>; here t(n) is a (class of) functions from integers to integers, and for different classes of functions t(n) we will obtain different complexity classes \mathsf
(n) A thumb signal, usually described as a thumbs-up or thumbs-down, is a common hand gesture achieved by a closed fist held with the thumb extended upward or downward in approval or disapproval, respectively. These gestures have become metaphors ...
/math>. In this section we will write (\forall x P) Q to mean (\forall x (P\Rightarrow Q)) and (\exists x P) Q to mean (\exists x (P \wedge Q)). We first need to define quantifier blocks (QB), a quantifier block is a list (Q_1 x_1, \phi_1)...(Q_k x_k, \phi_k) where the \phi_is are quantifier-free FO-formulae and Q_is are either \forall or \exists. If is a quantifiers block then we will call the iteration operator, which is defined as written t(n) time. One should pay attention that here there are k*t(n) quantifiers in the list, but only variables and each of those variable are used t(n) times. We can now define \mathsf
(n) A thumb signal, usually described as a thumbs-up or thumbs-down, is a common hand gesture achieved by a closed fist held with the thumb extended upward or downward in approval or disapproval, respectively. These gestures have become metaphors ...
/math> to be the FO-formulae with an iteration operator whose exponent is in the class t(n), and we obtain the following equalities: * \mathsf \log n)^i/math> is equal to FO-uniform ACi, and in fact \mathsf
(n) A thumb signal, usually described as a thumbs-up or thumbs-down, is a common hand gesture achieved by a closed fist held with the thumb extended upward or downward in approval or disapproval, respectively. These gestures have become metaphors ...
/math> is FO-uniform AC of depth t(n). * \mathsf \log n)^/math> is equal to NC. * \mathsf ^/math> is equal to
PTIME In computational complexity theory, P, also known as PTIME or DTIME(''n''O(1)), is a fundamental complexity class. It contains all decision problems that can be solved by a deterministic Turing machine using a polynomial amount of computation time, ...
. It is also another way to write FO(IFP). * \mathsf ^/math> is equal to
PSPACE In computational complexity theory, PSPACE is the set of all decision problems that can be solved by a Turing machine using a polynomial amount of space. Formal definition If we denote by SPACE(''t''(''n'')), the set of all problems that can b ...
. It is also another way to write FO(PFP). Immerman 1999, p. 161


Notes


References

* * {{Cite book, last=Neil, first=Immerman, url=http://worldcat.org/oclc/901297152, title=Descriptive complexity, date=1999, publisher=Springer, isbn=0-387-98600-6, oclc=901297152 Descriptive complexity Database theory Predicate logic